﻿namespace Toybox.SCM.Models.Accounts
{
	using NicoSharp.Abstracts;

	public class PriorityAccount : AbstractNotifyObject
	{

		#region Constructor

		/// <summary>
		/// Constructor
		/// </summary>
		public PriorityAccount(Account account)
		{
			// デフォルト値
			this.IsUse = false;
			this.Priority = 0;
			this.Account = account;
		}

		#endregion Constructor


		#region Public Members

		/// <summary>
		/// 使用フラグ
		/// </summary>
		public bool IsUse
		{
			get { return this._isUse; }
			set
			{
				if (this._isUse == value) return;
				this._isUse = value;
				base.OnPropertyChanged("IsUse");
			}
		}
		private bool _isUse;
		
		/// <summary>
		/// 優先度
		/// </summary>
		public uint Priority
		{
			get { return this._priority; }
			set
			{
				if (this._priority == value) return;
				this._priority = value;
				base.OnPropertyChanged("Priority");
			}
		}
		private uint _priority;

		/// <summary>
		/// アカウント
		/// </summary>
		public Account Account
		{
			get { return this._account; }
			protected set
			{
				if (this._account == value) return;
				this._account = value;
				base.OnPropertyChanged("Account");
			}
		}
		private Account _account;

		#endregion Public Members
		
	}
}
